package cn.leaf.calculator.bean;


import cn.leaf.calculator.Stateful;

import java.io.Serializable;

/**
 * 参数源信息定义
 *
 * @author 李克国
 * @version 1.0.0
 */
public interface ParameterBeanDefinition<T> extends Stateful {

    /**
     * 参数初始化的
     */
    int PARAMETER_STATE_INITIALIZE = 0;

    /**
     * 设置id
     *
     * @param id id
     */
    void setId(Serializable id);

    /**
     * 设置名称
     *
     * @param name name
     */
    void setName(String name);

    /**
     * 设置valeu
     *
     * @param value value
     */
    void setValue(T value);

    /**
     * 获取id
     *
     * @return id
     */
    Serializable getId();

    /**
     * 获取名称
     *
     * @return name；
     */
    String getName();

    /**
     * 获取值
     *
     * @return value
     */
    T getValue();
}
